home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gwu / userman.dos < prev    next >
Text File  |  1996-01-30  |  32KB  |  738 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.               GWAda Program Development Environment
  8.               -------------------------------------
  9.                       User Manual 
  10.                       January 1994
  11.                         
  12.                 Prof. Michael B. Feldman 
  13.            Department of Electrical Engineering and Computer Science 
  14.           The George Washington University Washington, DC 20052
  15.                  (202) 994-5253 (voice) 
  16.                   (202) 994-5296 (fax) 
  17.                 mfeldman@seas.gwu.edu (Internet)
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.      
  31.      This project was sponsored by The George Washington University, and in
  32.      part by the United States Advanced Research Projects Agency (ARPA) 
  33.      under contract #FY3592-93-10234, administered by Phillips Laboratory, 
  34.      Kirtland AFB, NM 87117-5776.
  35.      
  36.      
  37.      Copyright (C) 1993, 
  38.      Charles W. Kann, Arthur Vargas Lopes, and Michael Bliss Feldman
  39.      
  40.      
  41.      This program is free software; you can redistribute it and/or modify
  42.      it under the terms of the GNU General Public License as published by
  43.      the Free Software Foundation; either version 2 of the License.
  44.      
  45.      This program is distributed in the hope that it will be useful,
  46.      but WITHOUT ANY WARRANTY; without even the implied warranty of
  47.      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  48.      GNU General Public License for more details.
  49.      
  50.      You should have received a copy of the GNU General Public License
  51.      along with this program; if not, write to the Free Software
  52.      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  53.      
  54.  
  55.      GWAda User Manual                January 1994                     page 1
  56.  
  57.  
  58.      I. ABOUT THE GWAda DEVELOPMENT ENVIRONMENT
  59.      
  60.      GWAda is a development environment built around the NYU AdaEd
  61.      compiler/interpreter. It allows the  editing,  compiling,  binding  and
  62.      execution of Ada 83 programs.
  63.      
  64.      GWAda was supervised by Prof. Michael B. Feldman. Dr. Arthur V. Lopes
  65.      wrote the editor and associated tools; Charles A. Kann, a GWU doctoral
  66.      student in Computer Science, is responsible for the run-time monitoring
  67.      capabilities.
  68.  
  69.      GWAda User Manual                January 1994                     page 2
  70.  
  71.  
  72.      II. INSTALLATION
  73.      
  74.      When you un-archive the files (see the instructions below), you will
  75.      find a user manual, userman.doc, describing the GW development
  76.      environment, and a file readme.nyu file with documentation on the NYU
  77.      part of the system. Note that you do not have to use the GWAda
  78.      integrated environment, but can execute the various parts of NYU Ada/Ed
  79.      from the DOS command line, as described in the NYU instructions.
  80.      
  81.      
  82.      System Requirements
  83.      -------------------
  84.      
  85.      IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS
  86.      at least 3.6 mb available extended memory
  87.      at least 5   mb free hard disk space
  88.      
  89.      
  90.      Installing GWAda
  91.      ----------------
  92.      
  93.      Assuming that:
  94.      
  95.      first diskette is in drive B:
  96.      the target hard disk is C:
  97.      
  98.      1 - The installation process will create a directory named ADAED 
  99.      to store everything, so first position to the desired hard disk.
  100.      
  101.        cd C:\
  102.        
  103.      2 - Copy unzip.exe from the diskette to the hard drive
  104.      
  105.        copy b:\unzip.exe .
  106.      
  107.      3 - Unzip the first archive
  108.      
  109.        unzip b:\support.zip
  110.      
  111.        then change to the adaed directory, replace the first diskette with 
  112.        the second, and type
  113.      
  114.        c:\unzip b:\binaries.zip
  115.      
  116.      4 - Create a working directory for your Ada programs:
  117.      
  118.        mkdir c:\adaed\myprogs
  119.      
  120.      5 - Add c:\adaed to your DOS path, for example
  121.      
  122.        path=c:\adaed;c:\;c:\dos
  123.  
  124.  
  125.      GWAda User Manual                January 1994                     page 3
  126.  
  127.      
  128.      6 - create the adaed environment variable:
  129.      
  130.        set adaed=c:\adaed
  131.      
  132.        You might wish to add steps (4) and (5) to your autoexec.bat file, or
  133.        create a separate setup.bat just to run when you need to use GWAda.
  134.      
  135.      7 - Change to your working directory
  136.      
  137.        cd c:\adaed\myprogs
  138.    
  139.  
  140.      GWAda User Manual                January 1994                     page 4
  141.  
  142.  
  143.      III. USING GWAda
  144.      
  145.      This section gives a tutorial on using GWAda.
  146.      
  147.      
  148.      A First Compilation and Execution using GWAda and Runtime Monitoring
  149.      -------------------------------------------------------------------
  150.      
  151.       1 - Copy the Ada demonstration programs from the directory
  152.       \ADAED\GWUDEMOS to your working directory
  153.      
  154.        copy \adaed\gwudemos\*.* .
  155.      
  156.       2 - Start GWAda by typing "GWAda FIRST.ADA"
  157.      
  158.       3 - The GWAda editor should now be running, with the source for
  159.       the program FIRST.ADA in the window.  First, create a new
  160.       library as follows:
  161.      
  162.       Press the ESC key to put the menu bar at the top of the screen.
  163.       Type O to select the options menu.
  164.       Type N to select a new library.
  165.      
  166.       A New library has been created.
  167.      
  168.       4 - You should still be on the menu bar. Type C to select compile, then
  169.       C again to indicate that the file in the current window is to be
  170.       compiled.
  171.      
  172.       5 - When the compilation is done, you will no longer have the menu bar.  
  173.       Press the ESC key to bring up the menu bar, and type B to bind 
  174.       (link) the program.
  175.      
  176.       6 - You will be asked for the program to bind.  Select "first" by 
  177.       pressing ENTER. The program is now bound (linked).
  178.      
  179.       7 - Type R to run the program.  When asked which program to run, select 
  180.       "first".
  181.      
  182.       8 - You should now have up the monitor screen.
  183.      
  184.       9 - Press ESC to take the default options on the first screen 
  185.       (speed = 6, exceptions = yes, and tasks = no). Press ESC again to 
  186.       take the defaults on the second screen (Small window, line 
  187.       tracing, and no procedure tracing). 
  188.      
  189.      10 - Now the monitor should be running, stopped at the elaboration of 
  190.       the variable Name.  Press the space bar until the program asks for 
  191.       your name, then once more so that it will reach the Get_Line
  192.       statement.  Type in your name, then press return.  Continue to 
  193.       press the space bar until the program completes execution.
  194.  
  195.      GWAda User Manual                January 1994                     page 5
  196.  
  197.  
  198.      Compiling a Program That Isn't in the Current Window
  199.      ----------------------------------------------------
  200.      
  201.      To use the rest of the demo programs, you will need to compile some 
  202.      input/output instances. These are in the file IO_LIBS.ADA. Press ESC
  203.      to reveal the menu bar, then C to request compilation, then select 
  204.      "select unit" to select a file from the working directory. You will get 
  205.      a window showing the directory followed by *.ADA. Press ENTER; you will
  206.      then see a window showing all the files with file type .ADA. Use the
  207.      down-arrow key to select IO_LIBS.ADA; this file will then be compiled. 
  208.      
  209.      
  210.      Using the GWAda Runtime Monitor to Trace Subprogram Calls
  211.      ---------------------------------------------------------
  212.      
  213.      To demonstrate subprogram tracing we use the program FIBB.ADA. This 
  214.      program calculates a Fibonacci number by summing the two previous 
  215.      Fibonacci numbers. The Fibonacci series is
  216.      
  217.      1 1 2 3 5 8 13 21 ...
  218.      
  219.      It was developed originally to model the growth of a colony of rabbits.
  220.      The Fibonacci function is recursive, so running the program will lead
  221.      to a large number of nested recursive calls. Compile this program,
  222.      then bind it as before.
  223.      
  224.      To see the execution tracting, take the default options on the first 
  225.      Run screen (speed = 6, exceptions = yes, and tasks = no)
  226.      Change from a Small Window to a Large Window on the second screen.
  227.      
  228.      The purpose of this program is to show a large amount of recursion.
  229.      Therefore, when prompted for the number to be calculated, choose 7.
  230.      This will cause Fib_Calc to be called recursively many times..
  231.      
  232.      Notice that each time Fib_Calc is called, a new window is opened until
  233.      the screen is filled with windows.  At that point, no new windows are
  234.      created, but notice that the highest level window "Scrolls" off to the
  235.      upper right and is no longer visible.
  236.      
  237.      When the program has gotten to the final window, notice how it begins
  238.      to scroll the windows back on to the screen as the call stack unwinds.
  239.      When all the programs on the stack are back on the screen, the stack
  240.      continues to unwind, until there is only a single procedure left on
  241.      the screen.  This shows the call stack, and the recursion of the program.
  242.      
  243.      You can control the speed of execution by pressing the up-arrow (faster)
  244.      or down-arrow (slower) keys. Note how the "speedometer" shows the speed.
  245.      
  246.  
  247.      GWAda User Manual                January 1994                     page 6
  248.  
  249.      Running a Program without the Monitoring
  250.      ----------------------------------------
  251.      
  252.      If you wish simply to execute a program without the line and procedure 
  253.      tracing, select the Options menu (alt-O), then select Parameters (Run)
  254.      (press P) and then select Monitoring (1). You will then see a window
  255.      open. Press 1 and you will see the line "source line monitoring" change
  256.      from On to Off. Then press ENTER to leave the window and ESC to close
  257.      the Options menu.
  258.      
  259.      Now run Fibonacci as before. You will see the program output on the screen
  260.      without the monitoring.
  261.      
  262.      
  263.      Compiling Some Useful Ada Packages
  264.      ----------------------------------
  265.      
  266.      Before we proceed with the demonstrations, let's compile two useful 
  267.      packages: Random, which provides pseudo-random numbers, and Screen, which
  268.      allows the screen cursor to be moved to an arbitrary position. Because a
  269.      package in Ada has two parts, a specification and a body, we must do two
  270.      compilations for each package. In the demonstrations, the file type .ADS 
  271.      is used to indicate a spec, .ADB to indicate a body. Give yourself some 
  272.      practice in compilation by compiling RANDOM.ADS and RANDOM.ADB, then 
  273.      SCREEN.ADS and SCREEN.ADB. These are not bindable; they are packages, not
  274.      programs.
  275.      
  276.      You can select List Library from the Options menu to see the results of
  277.      all these compilations.
  278.      
  279.      
  280.      Programs with Multiple Tasks
  281.      ----------------------------
  282.      
  283.      To illustrate multiple tasks in GWAda, we use the program WORMS.ADA. 
  284.      This program is based on a UNIX game called worms. It is especially 
  285.      interesting because the Worms program could really be implemented as a 
  286.      sequential program. This implementation shows how tasks can be used to 
  287.      simplify the design of a sequential program. By defining the Worms as 
  288.      individual tasks, the programmer only has to worry about defining the
  289.      behavior of a single Worm, and then creating multiple Worm objects.
  290.      
  291.      First we need to compile two more packages: SCREENIO.ADS and SCREENIO.ADB,
  292.      which takes care of screen handling in a multitask situation, and 
  293.      CREATURE.ADS and CREATURE.ADB, which defines the worm creatures.
  294.      
  295.      Now with the monitor still off, compile and bind WORMS.ADA. When the
  296.      program is executed, it will ask you how many worms you'd like, and
  297.      also the screen boundaries. Enter 1 1 80 24 to the screen-boundary prompt.
  298.      
  299.      Now run the program. You will soon see worm creatures squiggling randomly
  300.      around the screen.
  301.      
  302.      Now turn monitoring on (Options menu, remember?), and run Worms again. 
  303.  
  304.      GWAda User Manual                January 1994                     page 7
  305.  
  306.  
  307.      On the initial monitor setup screen, choose Y to the question whether tasks
  308.      are used.  Also, set the initial speed to 10, the fastest speed. You will
  309.      notice when you start the program that because of the monitoring, the
  310.      worms move MUCH more slowly on the screen. But the first four windows which
  311.      show up will let you see the main procedure WORMS, the task SCREEN, and two
  312.      instances of the WORM creature.  Notice how the WORM tasks interact with 
  313.      SCREEN.  
  314.      
  315.      
  316.      Another Tasking Program
  317.      -----------------------
  318.      
  319.      Compiling ELEVATOR.ADA and ELEVDEMO.ADA will show you a simulation of a
  320.      two-elevator system in an office building. Try this with and without the
  321.      monitor.
  322.         
  323.      GWAda User Manual                January 1994                     page 8
  324.  
  325.  
  326.      IV. THE GWAda MULTI-FILE EDITOR
  327.              
  328.      Here you will find a summary of the operations allowed by the GWada multi  
  329.      text full screen editor.                                                     
  330.      The GWAda top menu becomes visible by depressing either the F10 or ESC key.
  331.                                            
  332.      The editor works under two modes of operation:                               
  333.       -Insert (Ins)                                                        
  334.       -Overwrite (Ovr)                                                     
  335.      with up to 8 text files.                                                                   
  336.                                            
  337.      You may perform cut and paste operations among any of the 8 text files.                                            
  338.      To open a text file depress the Alt-F O keys. To flip among open text 
  339.      files use the Alt-W keys.                                                  
  340.                                 
  341.      To close the current text file use the Alt-F C  keys. The current text    
  342.      file is the file whose portion is being displayed onto the screen.           
  343.      The above operations may also be performed by using the top menu. The top 
  344.      menu is activated by depressing the F10 key. To  return  to  the  editing  
  345.      mode depress the ESC key.                                                    
  346.      The operations allowed are shown below:
  347.                                            
  348.        Key      Description/Action (Upper and lower case letter keys have       
  349.           equal meaning)                             
  350.                                            
  351.        Arrow    Allow to move the cursor left, right, up and down.
  352.        PgUp     Moves the cursor one page up.                 
  353.        PgDn     Moves the cursor one page down.                
  354.        Home     Moves the cursor to the text line begin.                        
  355.        End      Moves the cursor to the text line end.                          
  356.        Ctrl-V                                                                       
  357.        Ins      Changes from Ins mode to Ovr mode, and                          
  358.           from Ovr mode to Ins mode.                              
  359.        Del      Deletes the current character.                                  
  360.        Backsp   The backspace key to the left of the current character.         
  361.                                            
  362.        Ctrl-N                                                                       
  363.        ENTER    Creates a new line.                                             
  364.        Tab      Insert up to 4 spaces according to the cursor location.         
  365.         The default indentation size is 4. It can be altered in 
  366.           the Options top menu (Alt-O I).                                             
  367.        F1       Help on Hot Keys.                                               
  368.        F5       Go to a specific text line (user is prompted).                  
  369.        F7       Generates a package body skeleton from a compiled package 
  370.           specification. Before depressing the F7 key first position
  371.           the cursor over the PACKAGE keyword that starts a given 
  372.  
  373.      GWAda User Manual                January 1994                     page 9
  374.  
  375.  
  376.           package specification. Only then depress the F7 key. You 
  377.           will be prompted for the name of the file that will 
  378.           contain the resulting package body skeleton. You can then 
  379.           open the package body file and complete the various
  380.           subprogram bodies.  
  381.         While this option performs some syntax check, It is assumed 
  382.           that the package specification is correct. If so, the 
  383.           stubs or skeletons of the subprograms will all be legal; 
  384.           the package body skeleton will compile without errors.                           
  385.        ESC                                                                          
  386.        F10      Brings the GWAda Development Environment Menu (Top Menu).       
  387.        ESC      Returns to the editing mode from the Top Menu                   
  388.                                            
  389.        Ctrl-y   Deletes the current line (identical to Alt-E D);                
  390.        Ctrl-g   Deletes current character (identical to Del key);               
  391.        Ctrl-k b Mark text's block begin (identical to Alt-E M). 
  392.           without holding the Ctrl key.                                   
  393.                                            
  394.        Ctrl-k k Mark text's block end (identical to Alt-E M). 
  395.        Ctrl-k c Copy previously marked block (same as Alt-E  C);
  396.        Ctrl-k s Saves the current file.
  397.                                            
  398.        Ctrl-D   Moves right.                                                    
  399.                                        
  400.        Ctrl-Left 
  401.        Ctrl-A   Move back one word.                                             
  402.                                            
  403.        Ctrl-Right 
  404.        Ctrl-F   Move forward one word.                                          
  405.                                            
  406.        Ctrl-Q R Move to begin of file.                                          
  407.        Ctrl-Q C Move to end of file.                                            
  408.        Ctrl-Q Y Delete from the current position to the line's end.
  409.                                            
  410.        Alt-F                                                                        
  411.        F2       Activate File menu                                              
  412.           
  413.        Alt-F O  Opens a file for editing.
  414.        Alt-F C  Closes the current file being edited.
  415.        Alt-F S  Save the text to disk.                                          
  416.        Alt-F I  Shows general information.                                      
  417.        Shift-F9 
  418.        Alt-F D  Starts a DOS shell.                                             
  419.        Alt-F Q  Quits the program.                                              
  420.        Alt-F4   Quits the program.                                              
  421.                                            
  422.        Alt-E    Activate Edit menu                                              
  423.        Alt-E I  Inserts a text file to the right of the current 
  424.           cursor location.                                                       
  425.        Alt-E D  Deletes the current line.                                      
  426.  
  427.      GWAda User Manual                January 1994                    page 10
  428.  
  429.  
  430.        Alt-E F  Scans the text looking for the first occurrence of a string.    
  431.        Alt-E R  Perform text replacement.                                       
  432.        Alt-E M  Used to mark a block of text for future duplication or          
  433.           disk transfer.                                                  
  434.        Alt-E C  Inserts a previously marked text block.                        
  435.        Alt-E W  Creates a disk file containing a previously marked text        
  436.           block.
  437.        Alt-E S  Allows the insertion of special ASCII symbols.                  
  438.                                            
  439.        Alt-C    Activate Compile menu                                          
  440.        Alt-C C  Compile the current text file                                   
  441.        Alt-C S  Select a non editing text file for compilation                   
  442.                                            
  443.        Alt-B    Activates the Bind menu                                         
  444.                                            
  445.        Alt-R    Activates the Run menu                                          
  446.                                            
  447.        Alt-W    Activates the Window menu                                       
  448.        Alt-W n  Sets the text file name, n, as the current editing file.      
  449.                                            
  450.        Alt-O    Activates the Option menu                                       
  451.        Alt-O D  Used to set the source file and library directory.              
  452.        Alt-O M  Access the monitoring/debugging tools.                        
  453.        Alt-O F  Used to set compiler and interpreter options.                 
  454.        Alt-O C  Allows to customize the editor/environment colors.
  455.        Alt-O I  Used to set the indentation size (default = 4).                 
  456.        Alt-O R  Reads in the options file previously saved.                     
  457.        Alt-O W  Saves to disk the current options.                             
  458.        Alt-O S  Overwrite current options with the default options.             
  459.                                            
  460.        Alt-A    Activates the Ada menu.                                         
  461.          Here you will find skeletons or templates for various
  462.          Ada structures. You are invited to explore these.
  463.     
  464.      GWAda User Manual                January 1994                    page 11
  465.  
  466.  
  467.      V. GWUMon: THE GWAda RUNTIME MONITORING SYSTEM
  468.      
  469.      Running from the Command Line
  470.      -----------------------------
  471.      
  472.      Although GWUMON was written to be integrated into GWAda, it can be run
  473.      standalone from the command line.  If you wish to do this, you should make
  474.      sure that all your compiles include the "-a" option, ie:
  475.      
  476.      adacomp -a -b first.ada
  477.      
  478.      When you run GWUMON, the command line options are exactly the same as
  479.      the options for "adaexec", so you should check the NYUAda documentation if
  480.      you wish to set these options.  Note that if you don't set the "-a" option
  481.      in the compile, the monitor will NOT work!
  482.      
  483.      
  484.      Running from GWUAda
  485.      -------------------
  486.      
  487.      If you are running GWUMON from GWAda, you do not have to worry about
  488.      any compile options, etc.  GWAda sets them for you.  From the command line,
  489.      type "GWAda", and the GWAda system will start up.  
  490.      
  491.      To run the monitor from GWAda, go to the options menu, and choose the
  492.      option "Run Monitor".  This is a toggle which turns the monitor on and off.
  493.      If you choose not to run the monitor, the NYU AdaExec program is run as
  494.      usual from GWAda.  
  495.      
  496.      
  497.      GWUMon Options
  498.      --------------
  499.      
  500.      There are many options which can be set in GWUMON.  The best way to
  501.      find out what they all are is to experiment with the system.  There are
  502.      several programs distributed with the monitor which will help to give
  503.      the user some experience with using the monitor.  It is suggested that the
  504.      user try these programs to see how the monitor works.
  505.      
  506.      This section will give an overview of what options are available in GWUMON,
  507.      and how they work.  This is given mainly as a reference; the user should
  508.      try these options to see how they work.
  509.      
  510.  
  511.      Initial Setup Screen
  512.      
  513.      When GWUMON begins execution, the Initial Setup screen is brought up.
  514.      This screen is only brought up once per run, when GWUMON starts to run.
  515.      It has the following three options:
  516.      
  517.      1 - Execution Speed - This is the initial speed of the program
  518.      when it starts to run.  It is relative to the maximum
  519.  
  520.      GWAda User Manual                January 1994                    page 12
  521.  
  522.  
  523.      speed of the monitor.  Once the monitor has started
  524.      running, the up/down arrow keys are used to adjust the 
  525.      speed of the monitor.
  526.      
  527.      2 - Exception Tracing - This determines whether or not exceptions
  528.      will be traced when the monitor is running.  If this option
  529.      is set to no, unhandled exceptions are not reported.
  530.      
  531.      3 - Does your program use tasks - This question determines how the
  532.      monitor runs.  The monitor has two modes, one which is used
  533.      for sequential programs, and one which is used for concurrent
  534.      programs (ie. programs which use tasks).  These two modes are
  535.      incompatible (ie. programs which have tasks should not be
  536.      run in sequential mode, and vice versa).  Since the monitor
  537.      cannot determine before execution if the program uses tasks
  538.      or not, it is up to the user to set this option correctly.
  539.      
  540.      
  541.      Sequential Setup Screen
  542.      
  543.      If the user has selected Sequential Execution (ie. no tasks are used),
  544.      then the next menu to come up will be the Sequential Setup menu.  This menu
  545.      can also be brought up by using the F10 key when the program is running in
  546.      sequential mode. This menu has the following options:
  547.      
  548.      1 - Monitor Window Size - This option selects how large to make the
  549.      monitor window.  If the small window is chosen, the program 
  550.      output window is made larger.  If the large window is chosen,
  551.      the program output window is made smaller (just 2 rows).  This
  552.      option should be chosen based on how much of the program 
  553.      output should be seen, verses program source code.
  554.      
  555.      2 - When to Pause Execution - This determines when the monitor
  556.      will pause execution and wait for the users' input to
  557.      allow it to continue.  The options here are:
  558.      
  559.      As a Program Enters/Exits Procedures - If this option is
  560.      set to "Y", then each time a block is entered or exited, the
  561.      program will pause for user input.
  562.      
  563.      As Each Line Of Code Is Executed - If this option is set to
  564.      "Y", then each time a line of code is run, the program will
  565.      pause for user input.  Note that a line of code could 
  566.      represent more than 1 p-code statement.
  567.      
  568.      
  569.      Tasking Setup Screen
  570.      
  571.      If the user has selected Concurrent Execution (ie. tasks are used),
  572.      then the next menu to come up will be the Tasking Setup menu.  This menu
  573.      can also be brought up by using the F10 key when the program is running in
  574.      tasking mode. This menu has the following options:
  575.  
  576.      GWAda User Manual                January 1994                    page 13
  577.  
  578.  
  579.      1 - General Information
  580.      
  581.      1.1 - What do you want to monitor - The user can monitor
  582.      either the lines as they are executed, execution profile
  583.      for the tasks, or nothing.
  584.      
  585.      1.2 - Type of Delay - This option has not yet been implemented.
  586.      
  587.      1.3 - Tasking Model - This deals with the type of tasking.
  588.      This can either be "Run Til Blocked" (ie. continue to run
  589.      until the task gives up the CPU) or Round Robin (ie. each
  590.      task runs until it's quantum is used up).
  591.      
  592.      1.3.1 - If the tasking model chosen is round robin, then
  593.      the size of the quantum must be set.  This is the number of
  594.      p-code statements are executed between a task switch.
  595.      
  596.      2 - If option 1.1 was chosen to monitor lines, then these options
  597.      are set.
  598.      
  599.      2.1 - Type of Monitor Window - This determines how many
  600.      tasks can be seen on the screen at a time, and the type of
  601.      windows that display those tasks.
  602.      
  603.      2.2 - When to Pause Execution - This determines when the 
  604.      monitor will pause execution and wait for the users' input 
  605.      to allow it to continue.  The options here are:
  606.      
  607.      As a Program Enters/Exits Procedures - If this option is
  608.      set to "Y", then each time a block is entered or exited, the
  609.      program will pause for user input.
  610.      
  611.      As Each Line Of Code Is Executed - If this option is set to
  612.      "Y", then each time a line of code is run, the program will
  613.      pause for user input.  Note that a line of code could 
  614.      represent more than 1 p-code statement.
  615.      
  616.      3 - If option 1.1 choose to profile the program, then the number
  617.      of p-code statements which are executed between reports of
  618.      the profile report is set here.
  619.      
  620.      
  621.      Control Screen
  622.      
  623.      The Control Screen allows the user to choose which tasks they wish to 
  624.      see on the screen when the monitor is running.  It tells the current
  625.      status of the tasks, and allows the user to choose which tasks they
  626.      wish to monitor.  The field WON tells which windows are currently being
  627.      monitored, if the field is "yes", the task is attached to a monitor
  628.      window.  This WON field can be toggled by using the arrow keys to 
  629.      position yourself on the task you want to change, and typing the "t"
  630.  
  631.      GWAda User Manual                January 1994                    page 14
  632.  
  633.  
  634.      key.
  635.      
  636.      If there are more then one screens worth of tasks, then hitting the down
  637.      arrow on the last task on the screen will bring up the next series of
  638.      tasks.
  639.      
  640.      
  641.      Options When Line Monitor Is Running
  642.      ------------------------------------
  643.      
  644.      Line monitoring allows the user to see what lines are being executed
  645.      in each task as they are running.
  646.      
  647.      Many of the options which are available from the SETUP screen which 
  648.      pertain to line monitoring can be set with a single key stroke while the
  649.      monitor is running.  This is to save the user the time of having to 
  650.      go into the SETUP screen and change the options.  These commands are
  651.      summarized here:
  652.      
  653.      Up Arr - doubles the speed of the interpreter (ie. cuts the
  654.           delay in half.)
  655.      Dn Arr - halves the speed of the interpreter (ie. doubles the
  656.           delay.)
  657.      ctrl a - brings up the control screen to allow the user to 
  658.           set the tasks they would like to monitor.
  659.      ctrl b - stops the monitor from running.  This options allows the
  660.           user to run their program without any monitor output.  Note
  661.           that the delay still is in effect, and the program can be
  662.           slowed down or sped up.
  663.      ctrl c or ESC - stop the execution of the monitor.
  664.      ctrl d - Brings up the setup screen.
  665.      ctrl h - Brings up the help screen.
  666.      ctrl l - Sets line step mode, where the monitor stops after each
  667.           line that is in a currently active monitor window has been
  668.           executed.
  669.      ctrl t - Sets line task step, where the monitor stops after each
  670.           task switch that is in a currently active monitor window 
  671.           has been executed.
  672.      
  673.      
  674.      Execution State Codes
  675.      ----------------------
  676.      
  677.      The state codes for tasks during line monitoring are as follows:
  678.      
  679.      R - Wait on Rendezvous      M - Rendezvous Meet
  680.      D - Wait on Delay           * - Task Ready to Run
  681.      --> Task currently running
  682.      
  683.      
  684.      Note that all this information can be obtained by typing "CTRL-H" when
  685.      the line monitor is running.
  686.  
  687.      GWAda User Manual                January 1994                    page 15
  688.  
  689.  
  690.      Execution Percentage Window
  691.      ---------------------------
  692.      
  693.      The executions percent window allows the user to compare the relative
  694.      number of clock cycles each task uses.  The only option on this
  695.      window is to turn the monitoring by using the CTRL-B key.
  696.      
  697.      
  698.      Known Bugs and Other Hints
  699.      --------------------------
  700.      
  701.      There are a number of known bugs and problems which can occur when
  702.      using the monitor.  These will be fixed for the next release.
  703.      
  704.      1 - Too many key strokes which are not processed can cause the
  705.      monitor to hang.  For example, if you hit a lot of DOWN ARROW
  706.      keys to slow the monitor down, the system will take longer to
  707.      process these keys, and eventually will hang.  If this happens, 
  708.      the computer must be rebooted.
  709.      
  710.      2 - The monitor comes up but no source lines are displayed and
  711.      the task line is not advanced.  This can be caused by the
  712.      source program not being compiled with the "-a" option.  If
  713.      you are compiling from the command line, make sure you use
  714.      the "-a" option on the compile.
  715.      
  716.      Note that this will not happen if the monitor is run from
  717.      GWAda.
  718.  
  719.      3 - There are some memory problems in using GWAda under DOS,
  720.      specifically, if you try to load DOS high without a memory 
  721.      manager, GWAda will be unable to spawn processes.  This will 
  722.      result in an error in using DOSX.  If you have this problem, 
  723.      either remove the "DOS=HIGH" statement from your config.sys, 
  724.      or install a memory manager such as QEMM or EMM386.
  725.  
  726.      4 - GWAda runs under a DOS shell from either Windows or OS/2.
  727.      If you have any problems, check the amount of memory and 
  728.      memory settings.  In particular, GWAda has problems if not 
  729.      enough memory is specified for Windows.
  730.  
  731.      5 - If you are a user of a previous version of GWAda, make sure
  732.      that you create a new library before you use this new version of
  733.      GWAda.  Some changes were made in the library format to handle
  734.      the monitoring.  These make libraries made with older versions 
  735.      of GWAda incompatable with the current libraries.  This will show
  736.      up in the occurance of "chaos" messages.
  737.  
  738.